Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

283
Views
Getting error PodSpec.containers: got "map", expected "array" or Container.volumeMounts: got "map", expected "array";

I am trying to start a deployment but I am getting this error

error: error validating "httpd-basic-deployment.yaml": error validating data: ValidationError(Deployment.spec.template.spec.containers): invalid type for io.k8s.api.core.v1.PodSpec.containers: got "map", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false

of the below pod definition file:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ebay-app
spec:
  selector:
    matchLabels:
        environment: dev
        app: ebay
  replicas: 1
  template:
    metadata:
      labels:
        environment: dev
        app: ebay
    spec:

      volumes:
        - name: volume
          hostPath:
            path: /mnt/data

      containers:
        name: container1-nginx
        image: nginx
        volumeMounts:
           name: volume
           mountPath: /var/nginx-data

        name: container2-tomcat
        image: tomcat
      nodeSelector:
        boardType: x86vm

I tried listing the cotnainers again:

 volumes:
    - name: volume
      hostPath:
        path: /mnt/data

  containers:
    - name: container1-nginx
      image: nginx
      volumeMounts:
         name: volume
         mountPath: /var/nginx-data
    
    - name: container2-tomcat
      image: tomcat

  nodeSelector:
    boardType: x86vm

that results in different error

error: error validating "httpd-basic-deployment.yaml": error validating data: ValidationError(Deployment.spec.template.spec.containers[0].volumeMounts): invalid type for io.k8s.api.core.v1.Container.volumeMounts: got "map", expected "array"; if you choose to ignore these errors, turn validation off with --validate=false

what am i doing wrong ?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

VolumeMounts should also have -. It indicates start of an array. Change it as shown below.

volumeMounts:
- name: volume
  mountPath: /var/nginx-data

Have a look at this example yaml to create pod that has two containers and shares same volume. In this example, its clear where to use - symbol and where not.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!